<?php
class Usuario{
	private $id;
	private $usuario;
	private $senha;
	private $nome;
        private $master;
        private $bloqueado;
	private $idFilial;

	public function __construct(){
		$this->id = NULL;
		$this->usuario = NULL;
		$this->senha = NULL;
		$this->nome = NULL;
                $this->master = 0;
                $this->bloqueado = 0;
		$this->idFilial = NULL;
	}

	public function get_id(){
		return $this->id;
	}
	public function get_usuario(){
		return $this->usuario;
	}
	public function get_senha(){
		return $this->senha;
	}
	public function get_nome(){
		return $this->nome;
	}
        public function get_master(){
		return $this->master;
	}
        public function get_bloqueado(){
		return $this->bloqueado;
	}
	public function get_idFilial(){
		return $this->idFilial;
	}
	
	
	public function set_id($id){
		if($id != '' && valida::nome_num($id)){
                    $this->id = $id;
                    return 1;
		}else{
                    return 0;
                }
        }

	public function set_usuario($usuario){
		if($usuario != '' && valida::nome($usuario)){
                    $sql = "select count(usuario) from Usuario where usuario = '$usuario'";
                    $conexao = db::conecta();
                    $result = db::query($sql, $conexao);
                    db::close($conexao);
                    $u = db::fetch_array($result);
                    
                    if($u[0] == 0){
                        $this->usuario = $usuario;
                        return 1;
                    }else{
                        return 0;
                    }
		}else{
                    return 0;
                }
        }

	public function set_senha($senha){
                $senha = addslashes($senha);
		if($senha != ''){
                    $this->senha = sha1($senha);
                    return 1;
		}else{
                    return 0;
                }
        }
        
        public function set_nome($nome){
		if($nome != '' && valida::nome($nome)){
                    $this->nome = $nome;
                    return 1;
		}else{
                    return 0;
                }
        }

        public function set_master($master){
		if($master == 0 || $master == 1){
                    $this->master = $master;
                    return 1;
		}else{
                    return 0;
                }
        }
        
	public function set_bloqueado($bloqueado){
		if($bloqueado == 0 || $bloqueado == 1){
                    $this->bloqueado = $bloqueado;
                    return 1;
		}else{
                    return 0;
                }
        }

	public function set_idFilial($idFilial){
		if(valida::numero($idFilial)){
                    $this->idFilial = $idFilial;
                    return 1;
		}else{
                    return 0;
                }
        }

	
	
	public function salvar(){
		$sql = "insert into Usuario(usuario, senha, nome, master, bloqueado, idFilial) values('".$this->usuario."', '".$this->senha."', '".$this->nome."', '".$this->master."', '".$this->bloqueado."', '".$this->idFilial."')";
                
		$con = db::conecta();
		$res = db::query($sql, $con);
		db::close($con);

		return $res;
	}
	public function alterar($id){
		$sql = "update Usuario set id = '".$this->id."', usuario = '".$this->usuario."', senha = '".$this->senha."', nome = '".$this->nome."', master = '".$this->master."', bloqueado = '".$this->bloqueado."', idFilial = '".$this->idFilial."' where id = '$id'";

		$con = db::conecta();
		$res = db::query($sql, $con);
		db::close($con);

		return $res;
	}
	public function carregar($id){
		$sql = "select * from Usuario where id = '$id'";

		$con = db::conecta();
		$res = db::query($sql, $con);
		db::close($con);
		$Usuario = db::fetch_array($res);

		$this->id = $Usuario["id"];
		$this->usuario = $Usuario["usuario"];
		$this->senha = $Usuario["senha"];
		$this->nome = $Usuario["nome"];
                $this->master = $Usuario["master"];
                $this->bloqueado = $Usuario["bloqueado"];
		$this->idFilial = $Usuario["idFilial"];
		
		return 1;
	}
}
?>
